fb1a7b7c90b53ad0b5a2898bbd1268d3e206656c,src/main/java/org/chocosolver/solver/constraints/nary/min_max/PropBoolMax.java,PropBoolMax,filter,#,84

Before Change


    }

    public void filter() throws ContradictionException {
        if (x1 == -1) {
            vars[n].instantiateTo(0, this);
            if (vars[n].isInstantiatedTo(0)) {
                setPassive();
            }
        }else if (x2 == -1 && vars[n].isInstantiatedTo(1)) {
            vars[x1].instantiateTo(1, this);
            if (vars[x1].isInstantiatedTo(1)) {
                setPassive();
            }
        }else if (vars[n].isInstantiatedTo(0)) {
            for (int i = 0; i < n; i++) {
                vars[i].instantiateTo(0, this);
            }

After Change


    public void filter() throws ContradictionException {
        int b1 = vars[x1].isInstantiated()? vars[x1].getValue():2;
        int b2 = vars[x2].isInstantiated()? vars[x2].getValue():2;
        int bn = vars[n].isInstantiated()? vars[n].getValue():2;

        if(b1 == 0 && b2 == 0){
            setPassive();
            vars[n].instantiateTo(0, this);
        }else if(bn == 1){
            if(b1 == 0){
                vars[x2].instantiateTo(1, this);
            }else if(b2 == 0){
                vars[x1].instantiateTo(1, this);
            }
        }else if(bn == 0) {
            for (int i = 0; i < n; i++) {
                vars[i].instantiateTo(0, this);
            }